The invention relates to a process executed by a computer system to increase the ease and efficiency of developing large, complex, software projects by providing a common interapplication communications protocol.
Microfiche appendixes A and B (4 Fiche, 330 pages) set out copyrighted manuals containing general use information concerning a commercial software package, created by the assignee of the application, which incorporates aspects of the invention. Permission is granted to make copies of the appendixes solely in connection with the making of facsimile copies of this application or any patent issuing therefrom in accordance with applicable law; all other rights are reserved, and all other reproduction, distribution, creation of derivative works based on the contents, public display, and public performance of the microfiche appendices or any part thereof are prohibited by the copyright laws.
In the discussion below, the male gender is used for convenience and should be interpreted as encompassing the female gender as appropriate.
In object-oriented (OO) software analysis and design, a major concern is that of modeling the domain of interest. Modeling is a process by which recognized important characteristics of the domain are identified and described. A major goal of OO software design is to make the correspondence between software objects and "real" objects (e.g., those entities being modeled) as accurate and as transparent as possible to maintain the consistency between the real world system being modeled and its software image or model.
One problem that exists in modeling control systems, e.g., in the area of computer-assisted manufacturing and related robotics fields, as well as in other domains, is that of communication between what may be a large number of different stand-alone application programs or executable library routines that may be needed during the development of complex control system software. (In the interest of simplicity, all future references herein to "application programs" or "programs" should be read as including other executable routines such as those embedded in precompiled libraries.)
Referring to FIG. 1, in the prior art, block 101 represents a workstation terminal which may house numerous software application programs which a user uses to control, monitor and configure the control system. Workstation 101 is connected to various processors 103 used in the control system by a communications network 102. The processors all have input-output (I/O) connections 105 which are connected to elements of a machine or process with which the user is concerned. As an example, one I/O connector is shown as connected to a robot arm 107.
The complexity of the system may require that the user of the workstation 101 operate many different application programs to accomplish his task. It is desirable that all the application programs be able to share information regarding the machine or process about which the user is concerned. It is likewise desirable for the user to have a convenient way to move from application program to application program. During the development of large and complex software projects such as a control system however, it may often be necessary to use a number of different and autonomous development application programs or precompiled library routines (e.g., program editors, process monitors, and project overview application programs). These different programs may well be products of a wide variety of organizations and might not be designed for effective interapplication communication.